package com.yuan.algorithms.正则表达式;

import java.util.Arrays;

/**
 * @author YouYuan
 * @contact 1265161633@qq.com
 * @date 2016年3月12日 上午10:27:20
 * @descript
 */
public class ReplaceString {

	public static void main(String[] args) {
		// replaceDemo1();
		sortIP();
	}

	/**
	 * 将IP地址按照顺序排序 192.168.1.33 8.8.8.8 114.114.114.114 4.2.2.2 172.16.57.253
	 * 
	 * 可以按照字符串进行排序，不过要先将IP地址补齐3位
	 */
	private static void sortIP() {
		String str = "192.168.1.33 8.8.8.8 114.114.114.114 4.2.2.2 172.16.57.253";
		str = str.replaceAll("(\\d+)", "00$1");
		System.out.println("补齐：" + str);
		str = str.replaceAll("0*(\\d{3})", "$1");
		System.out.println("切割成3位：" + str);
		String[] arr = str.split(" +");
		Arrays.sort(arr);
		for (String s : arr) {
			s = s.replaceAll("0*(\\d+)", "$1");
			System.out.println(s);
		}
	}

	/**
	 * 根据叠词替换字符串（多个相同的字符在一起）。如abbcdddddk替换后为abcdk。
	 */
	private static void replaceDemo1() {
		String str = "asEEdfgQQQQhjklBBzxcvbZZZnm";
		String regex = "(.)\\1+";
		str = str.replaceAll(regex, "$1");
		System.out.println(str);
	}
}
